package io.stream;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * @Package javaSE.io.stream
 * @Author shimmer
 * @Date 2020/5/28 15:49
 * @TODO
 */
public class FileStreamTest03 {
    public static void main(String[] args) {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("src\\main\\java\\javaSE\\io\\stream/test02.txt");
            //准备缓冲区
            byte[] buf = new byte[4];
            int hasRead = 0;
            while (0 < (hasRead = fis.read(buf))) {
                // 如果buf的长度大于文件每行的长度，就可以完整输出每行，否则会断行。
                // 循环次数 = 文件字符数 除以 buf长度
                System.out.println(new String(buf, 0, hasRead));
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {//在finally块里close更安全
            //在JDK1.5中，try()中打开文件会在结尾自动关闭
            try {
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
